package tk.mybatis.springboot.wexin.util;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashSet;
import java.util.List;
import java.util.Random;
import java.util.Set;

/**
 * 集合的工具类
 * @title:CollectionUtils
 * @form:Mr_xing
 * @author Xing
 * @date 2016年10月8日 上午11:41:56
 */
public class CollectionUtils {

	/**
	 * 判断空集合等，非空返回true，空返回false
	 * @param collation
	 * @return
	 */
	public static boolean isNotEmptyCollection(Collection<?> collection) {
		if (collection != null && collection.size() > 0) {
			return true;
		} else {
			return false;
		}
	}

	/**
	 * 判断空集合等，空返回true，非空返回false
	 * @param collation
	 * @return
	 */
	public static boolean isEmptyCollection(Collection<?> collection) {
		return !isNotEmptyCollection(collection);
	}

	/**
	 * 随机返回几条数据，不重复
	 * @param list 数据源
	 * @param row 随机返回几条
	 * @return
	 */
	public static List<String> rand(List<String> list, int row) {
		//如果不够随机
		if (isEmptyCollection(list) || list.size() < row) {
			return list;
		}

		Set<String> nlist = new HashSet<String>();
		Random random = new Random();
		//仅仅取几条
		while (nlist.size() < row) {
			nlist.add(list.get(random.nextInt(list.size())));
		}
		return new ArrayList<>(nlist);
	}

}

